1. Field of the Invention
This invention relates to computer systems, and more particularly to describing and provisioning systems installed in network environments.
2. Description of the Related Art
Today's systems (e.g., personal computers and servers) require human intervention to configure, install, and organize as part of a network. Such a requirement may be costly, time-consuming and cumbersome. In a heterogeneous data center or network environment with many heterogeneous nodes (e.g. with 1500 nodes of various types, with different operating systems and application requirements), considerable effort may be required to set up these nodes, which in many if not most cases require human input for each node. In addition, there may be a considerable amount of human effort required to determine a system configuration, which sometimes involves visual inspection of the installed node. There may also be a considerable amount of effort needed on the server side, which in most cases relies on primitive system descriptors (such as a MAC address, regions, etc) to associate the system with a specific configuration.
Conventionally, to install systems in a data center/network environment, the administrator has to figure out what kind of Ethernet cards are installed on the systems, go to a server, and configure the server based on the MAC addresses. The administrator has to specify a specific network boot image that the machines will use to boot. This requires manual entry at each system to be installed, perhaps including opening up the machine to figure out what kind of network interfaces there are, MAC addresses, etc. In conventional systems such as DHCP, the only descriptor of a system that is provided is the MAC address. The MAC address does not reflect anything as far as the platform type, processor type, etc. Using MAC addresses, it is impossible to distinguish between two types or configurations of systems.
JXTA™
Sun's JXTA™ is an exemplary peer-to-peer platform. Peer-to-peer platforms such as JXTA may provide protocols for building networking applications that thrive in dynamic environments. JXTA technology is a set of open protocols that allow any connected device on the network ranging from cell phones and wireless PDAs to PCs and servers to communicate and collaborate in a peer-to-peer (P2P) manner. JXTA peers create a virtual network where any peer can interact with other peers and resources directly even when some of the peers and resources are behind firewalls and NATs or are on different network transports. In JXTA, every peer is identified by an ID, unique over time and space. Peer groups are user-defined collections of entities (peers) that may share a common interest. Peer groups are also identified by unique IDs. Peers may belong to multiple peer groups, discover other entities and peer resources (e.g. peers, peer groups, services, content, etc.) dynamically, and publish themselves and resources so that other peers can discover them.